#ifndef _COMMUNICATE_H__
#define _COMMUNICATE_H__
#define  SEND_URL 0//服务端发送URL路径给客户端
#define  SEND_FILE_DIR 1//服务端发送指定目录信息给客户端
#define  SEND_FILE  2//向客户端发送文件
#define  SEND_TIP 3//服务端发送提示信息
#define  REGISTER_SUCESS 4//注册成功
#define  REGISTER_FAILD 5//注册失败
#define  LOGIN_SUCESS 6//登录成功
#define  LOGIN_FAILD 7//登录失败
#define  SEND_REUPLOAD 8//服务端发送是否是上传断点续传命令
#include <my_header.h>                                                                                                                  
enum TerminalCommand{
    CMD_CD=10,//切换目录10
    CMD_LS,//展示当前目录下的文件11
    CMD_PWD,//展示当前位置12
    CMD_PUTS,//上传文件13
    CMD_REDOWNLOAD,//客户端发送是否是下载断点续传命令14
    CMD_GETS,//下载服务器文件到本地15
    CMD_REMOVE,//删除服务器上面的文件16
    CMD_MKDIR,//创建一个文件夹17
    CMD_RMDIR,//删除一个文件空文件夹18
    CMD_HISTORY, //最近使用的命令19
    USER_REGISTER,//用户注册20
    USER_LOGIN, //用户登录21
    USER_TOKEN //用户身份认证22
};  
typedef struct train_s{
    int type;
    int length;
    char data[4096];
}train_t;
typedef struct trans_train_s{
    int  length;
    char data[4096];
}trans_train_t;
int send_url(int netfd,char *url);
int send_file_dir(int netfd,char *dir);
int send_tips(int netfd,const char * tips);
int recvn(int netfd,void *buf,int lenght);
#endif
